package errors

type Errors struct {
	errors map[string][]string //定义接收错误的map数组
}

func New() *Errors {
	return &Errors{
		errors: make(map[string][]string), //给map切片分配空间
	}
}
func (e *Errors) Add(key string, err string) {
	if _, ok := e.errors[key]; !ok {
		e.errors[key] = make([]string, 0, 5) //给切片分配空间
	}
	e.errors[key] = append(e.errors[key], err) //将错误添加
}

func (e *Errors) Errors() map[string][]string {
	return e.errors //返回这个错误
}

func (e *Errors) ErrorsKey(key string) []string {
	return e.errors[key]
}

func (e *Errors) HasErrors() bool {
	return len(e.errors) != 0
} //判断是否有长度
